package io;
//java的Io负责输入和输出
//java使用输入输出的两个方向来规定读和写操作
//其中输入是从外界到我们程序方向的获取的过程是读取操作
//输出是发送外界的方向是写出的过程

//javaIo比喻流我们可以理解为程序与外界之间的管道类似于现实世界中的水管只不过这个管子中不是水，是字节
//java.io InputStream 和OutputStream 是所有字节输入输出流的超类他们是抽象类
//IuputStream中定义字节的相关方法，OutputStream 定义了写出字节的相关方法
//实际开发中我们可以创建不同种类的输入和输出流来连接对应的设备进行读写操作
//文件流
//java.io.FileInputStream和FileOutputStream 他们继承于InputStream和OutputStream是实际用于读写文件的流


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FOSDemo {
    public static void main(String[] args) throws IOException {

       //文件中fos.dat写入一个字节
        FileOutputStream  fos=new FileOutputStream("./fos.bat");
        fos.write(1);
        fos.write(2);
        System.out.println("写出完毕");
        fos.close();

        //解释
        /*
            void write(int d)写出一个字节，，写出的内容比给定的int值对应的二进制
            低8位
            fos.write(1); int型整数1的2进制
                                       vvvvvvvv
            00000000 00000000 00000000 00000001
            fos.dat文件中的内容
            fos.write(2);
            int型整数2的2进制
            00000000 00000000 00000000 00000010
            fos.dat中的内容
            00000001 00000010

            /////写完需关闭////// fos.close
         */

        FileOutputStream fos1=new FileOutputStream("./demo.txt");
        for (int i = 0; i < 26; i++) {
            fos.write(97+i);
        }
        System.out.println("写出完毕");
        fos1.close();
    }
}
